home *** CD-ROM | disk | FTP | other *** search
- ! $Id: x12f.f,v 1.2 1994/05/26 19:34:26 mjl Exp $
- ! $Log: x12f.f,v $
- ! Revision 1.2 1994/05/26 19:34:26 mjl
- ! Inserted missing CVS Id and Log fields for all Fortran demos. Comment
- ! character changed to "!" everywhere, to work well with font-lock in Lucid
- ! emacs (requires a small change to fortran-mode.el).
- !
- !
- ! Demonstration program for PLPLOT: Bar chart example.
-
- character*20 string
- real y0(10)
-
- call plinit()
-
- call pladv(0)
- call plvsta
- call plwind(1980.,1990.,0.,35.)
- call plbox("bc",1.,0,"bcnv",10.,0)
- call plcol(2)
- call pllab("Year","Widget Sales (millions)",
- & "#frPLPLOT Example 12")
-
- y0(1) = 5
- y0(2) = 15
- y0(3) = 12
- y0(4) = 24
- y0(5) = 28
- y0(6) = 30
- y0(7) = 20
- y0(8) = 8
- y0(9) = 12
- y0(10) = 3
-
- do 1 i=0,9
- call plcol(mod(i,4)+1)
- call plpsty(mod(i+3,8)+1)
- call pllsty(mod(i,8)+1)
- call plfbox(1980.+i,y0(i+1))
- write(string,"(i8)")int(y0(i+1))
- call lalign(string)
- call plptex(1980.+i+.5,y0(i+1)+1.,1.,0.,.5,string)
- write(string,"(i8)")1980+i
- call lalign(string)
- call plmtex("b",1.,(i+1)*.1-.05,.5,string)
- 1 continue
-
- ! Don't forget to call PLEND to finish off!
- call plend
-
- end
-
- ! Suck up leading spaces
- subroutine lalign(string)
- character*(*) string
-
- max = len(string)
-
- do 1 i=1,max
- if(string(i:i).ne." ") then
- if(i.eq.1) return
- k = 1
- do 2 j=i,max
- string(k:k) = string(j:j)
- k = k + 1
- 2 continue
- do 3 j=k,max
- string(j:j) = " "
- 3 continue
- return
- endif
- 1 continue
-
- end
-
- subroutine plfbox(x0,y0)
-
- real x(4), y(4)
-
- x(1) = x0
- y(1) = 0.
- x(2) = x0
- y(2) = y0
- x(3) = x0+1.
- y(3) = y0
- x(4) = x0+1.
- y(4) = 0.
- call plfill(4,x,y)
- call plcol(1)
- call pllsty(1)
- call plline(4,x,y)
-
- end
-